![Challenge #88: Counting Combinations ~購入した商品の組み合わせの数の出力~ – Alteryx Weekly Challenge](https://devio2023-media.developers.io/wp-content/uploads/2018/11/alteryx-weekly-challenge-intermediate-level-advent-calendar-2018.png)
Challenge #88: Counting Combinations ~購入した商品の組み合わせの数の出力~ – Alteryx Weekly Challenge
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
Alteryx Communityで公開されているWeekly Challengeに挑戦するシリーズ。今回は購入した商品の組み合わせの数の出力に挑戦します。
動作環境
当エントリの執筆には、以下の環境を利用しています。
- Windows 10 Pro
- Alteryx Designer 2019.2.7.63499 英語版
Challenge #88: Counting Combinations
お題
今回挑戦するお題はこちら。
Input側のデータはこちら。「Item_Number」という列にはeggsやbreadといった顧客が購入した商品が出力されています。
Output側のデータはこちら。各「Transaction Number」にある購入した商品の組み合わせの数を出力しています。「Item_Number」列の順番が異なる場合であっても、購入した商品の組み合わせが同じ場合は同じ組み合わせとして扱います。
解答
作成したワークフローはこちら。
Transposeツールで縦持ちに変換します。Key columnsに「Transaction Number」、Data columnsに「Item_Number」列を選択します。
変換したデータは、「Name」列に「Item_Number」、「Value」列に購入した物が出力されています。
この後は購入した商品を1つの列にまとめますが、この時点では「Transaction Number」の順番で出力されています。組み合わせごとに同じ出力になるように、Sortツールで「Value」列を昇順に並べ替えます。
Summarizeツールで「Transaction Number」列でグループ化、「Value」列を「Concat」で出力します。
もう一度Summarizeツールを使用して、今度は「Concat_Value」列を「CountDistinct」で出力します。これで、異なるデータの数(購入した商品の組み合わせの数)を出力することができます。また、出力する列名は「Number of Combinations」とします。
結果を確認して完成です。
最後に
今回はChallenge #88: Counting Combinationsに挑戦しました。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。